# TODO
#
# notes:
#
# single pass will be possible:
#
# - first output call to "init" function
# - upon encountering user pointer declare it with size 0
# - at the very end, when sized of pointer space are known define the init
#   function and for every used point declare a new helper pointer with given
#   size and point the user pointer to this helper pointer
